A planned migration of virtual machines can be performed to migrate one or more virtual machines from a protected source site to a destination recovery site, for example, to avoid a disaster that is predicted to occur in the vicinity of the source site. The goal of any planned migration is to relocate the virtual machines from the source site to the destination site while maintaining a consistent set of data, with a pair of consistent data images between the protected source site and the destination recovery site. Generally, during a planned migration, the virtual machine state and the associated storage at the destination site are synchronized with virtual machines at the source site. Once the virtual machine state and the associated storage of the virtual machine have been replicated at the destination site, the virtual machines at the source site can be suspended and started at the destination site. See, for example, the vMotion™ component of the VMware™ vSphere™ cloud computing virtualization operating system, commercially available from VMware, Inc., of Palo Alto, Calif. Generally, vMotion allows the live migration of one or more running virtual machines from one storage system to another storage system. Storage-based replication techniques employ the storage system to perform the replication of data.
Existing virtual machine migration products maintain consistency among stored data for a plurality of virtual machines at only one site and can migrate a plurality of virtual machines from a first site to a second site, as long as all of the virtual machines execute at only a single site at the same time. A consistency group is a set of storage volumes associated with virtual machines that is managed as a consistent entity. For example, the storage volumes for the various virtual machines of a particular application typically are managed as a consistency group. Stored data consistency is important so that if a failure occurs (e.g., a site disaster or network partition) at any point during a migration, the application can recover from a consistent (i.e., not corrupt) set of data for all of virtual machines in the consistency group.
Due to the increasing size and complexity of the inter-related virtual machines in a typical consistency group, however, the individual virtual machines in the consistency group migrate at varying rates and may be in various states at the same time, such as active on the source site, active on the destination site or in transition from one site to another. For example, to conserve network resources, the virtual machine environment may be configured to support only one virtual machine in motion at a time. Therefore, when the virtual machines within a consistency group are active at more than one site at a given time, a need exists for maintaining stored data consistency at both the source site and the destination site upon a failure during the migration.